emacs.git
13 years agoExtend the value returned by Fgarbage_collect with heap statistics.
Dmitry Antipov [Fri, 20 Jul 2012 14:07:28 +0000 (18:07 +0400)]
Extend the value returned by Fgarbage_collect with heap statistics.
* alloc.c (Qheap): New symbol.
(syms_of_alloc): DEFSYM it.
(Fgarbage_collect): If DOUG_LEA_MALLOC, add mallinfo data.
(Fmemory_free): Remove.
(syms_of_alloc): Don't defsubr it.
* buffer.c (Fcompact_buffer): Remove.
(syms_of_buffer): Don't defsubr it.

13 years agoMake maybe_gc inline.
Dmitry Antipov [Fri, 20 Jul 2012 13:14:58 +0000 (17:14 +0400)]
Make maybe_gc inline.
Verify that inlining is always possible (GCC 4.7.1, -O3 -Winline).
* lisp.h (consing_since_gc, gc_relative_threshold)
(memory_full_cons_threshold): Revert declaration.
(maybe_gc): Remove prototype, define as inline.
* alloc.c: Remove old commented-out code.
(consing_since_gc, gc_relative_threshold)
(memory_full_cons_threshold): Revert to global.
(maybe_gc): Remove.

13 years ago* lisp/term/x-win.el (x-menu-bar-open): Use `frame-parameter'
Masatake YAMATO [Fri, 20 Jul 2012 11:32:30 +0000 (07:32 -0400)]
* lisp/term/x-win.el (x-menu-bar-open): Use `frame-parameter'
to check whether menu-bar is shown or not.  If not shown,
show the menu-bar as a popup menu instead of using tmm.
* lisp/mouse.el (popup-menu): Accept `point' as `position' argument.

13 years ago* lisp/progmodes/ruby-mode.el (ruby-parse-partial): No error when end
Dmitry Gutov [Fri, 20 Jul 2012 11:10:25 +0000 (07:10 -0400)]
* lisp/progmodes/ruby-mode.el (ruby-parse-partial): No error when end
up inside string symbol literal.
* test/automated/ruby-mode-tests.el: New file with one test.

13 years agoFix display of Hebrew tutorial title on splash screen.
Eli Zaretskii [Fri, 20 Jul 2012 10:29:32 +0000 (13:29 +0300)]
Fix display of Hebrew tutorial title on splash screen.

 lisp/startup.el (fancy-startup-text): Read the whole tutorial, not
 just its first 256 bytes.  Prevents gibberish in display of the
 tutorial title.
 etc/tutorials/TUTORIAL.he: Make the first sentence display correctly
 in a left-to-right paragraph, such as what is shown on the fancy
 splash screen, by using directional control characters.

13 years agoSimple wrapper for make_unibyte_string, adjust font_open_by_name.
Dmitry Antipov [Fri, 20 Jul 2012 07:29:04 +0000 (11:29 +0400)]
Simple wrapper for make_unibyte_string, adjust font_open_by_name.
* src/lisp.h (build_unibyte_string): New function.
* src/dosfns.c, src/fileio.c, src/fns.c, src/ftfont.c, src/process.c:
* src/sysdep.c, src/w32fns.c, src/xfns.c: Use it.
* src/font.c (font_open_by_name): Change 2nd and 3rd args to the only arg
of type Lisp_Object to avoid redundant calls to make_unibyte_string.
Adjust users accordingly.
* src/font.h (font_open_by_name): Adjust prototype.
* admin/coccinelle/unibyte_string.cocci: Semantic patch to convert from
make_unibyte_string to build_unibyte_string where appropriate.

13 years agoCleanup calls to Fgarbage_collect.
Dmitry Antipov [Fri, 20 Jul 2012 05:28:00 +0000 (09:28 +0400)]
Cleanup calls to Fgarbage_collect.
* lisp.h (maybe_gc): New prototype.
(consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
Remove declarations.
* alloc.c (maybe_gc): New function.
(consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
Make them static.
* bytecode.c (MAYBE_GC): Use maybe_gc.
* eval.c (eval_sub, Ffuncall): Likewise.
* keyboard.c (read_char): Likewise.  Adjust call to maybe_gc
to avoid dependency from auto-save feature.

13 years agoDrop idle buffer compaction due to an absence of the
Dmitry Antipov [Fri, 20 Jul 2012 04:13:04 +0000 (08:13 +0400)]
Drop idle buffer compaction due to an absence of the
proved efficiency.
* lisp/compact.el: Remove.

13 years ago* buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'.
Paul Eggert [Thu, 19 Jul 2012 22:35:58 +0000 (15:35 -0700)]
* buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'.

(FOR_EACH_PER_BUFFER_OBJECT_AT): Rename from
'for_each_per_buffer_object_at'.
All uses changed.  It's better to use upper-case for macros that
cannot be implemented as functions, to give the reader a clue
that they're special.

13 years ago* lisp/vc/vc-dispatcher.el (vc-compilation-mode): Add, based on
Sam Steingold [Thu, 19 Jul 2012 14:38:01 +0000 (10:38 -0400)]
* lisp/vc/vc-dispatcher.el (vc-compilation-mode): Add, based on
vc-bzr-pull & vc-bzr-merge-branch.
* lisp/vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch): Use it.
(vc-bzr-error-regexp-alist): Rename from vc-bzr-error-regex-alist
for consistency with compilation-error-regexp-alist.
* lisp/vc/vc-git.el (vc-git-error-regexp-alist): Add.
(vc-git-pull, vc-git-merge-branch): Call vc-compilation-mode.
* lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Add.
(vc-hg-pull, vc-hg-merge-branch): Call vc-compilation-mode.

13 years ago* lisp/emacs-lisp/chart.el: Use lexical-binding.
Stefan Monnier [Thu, 19 Jul 2012 11:39:38 +0000 (07:39 -0400)]
* lisp/emacs-lisp/chart.el: Use lexical-binding.
(chart-emacs-storage): Don't hardcode the list of entries.
* src/alloc.c (Fgarbage_collect): Tweak docstring.

13 years agoTweak the value returned from Fgarbage_collect again.
Dmitry Antipov [Thu, 19 Jul 2012 09:50:01 +0000 (13:50 +0400)]
Tweak the value returned from Fgarbage_collect again.
* src/alloc.c (Fgarbage_collect): New return value, as confirmed in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html.
Adjust documentation.
(total_vector_bytes): Rename to total_vector_slots, adjust
accounting.
(total_free_vector_bytes): Rename to total_free_vector_slots,
adjust accounting.
(Qstring_bytes, Qvector_slots): New symbols.
(syms_of_alloc): DEFSYM them.
* lisp/emacs-lisp/chart.el (chart-emacs-storage): Adjust again.

13 years agoCompact buffers when idle.
Dmitry Antipov [Thu, 19 Jul 2012 08:56:53 +0000 (12:56 +0400)]
Compact buffers when idle.
* lisp/compact.el: New file.
* src/buffer.c (compact_buffer, Fcompact_buffer): New function.
(syms_of_buffer): Register Fcompact_buffer.
* src/alloc.c (Fgarbage_collect): Use compact_buffer.
* src/buffer.h (compact_buffer): New prototype.
(struct buffer_text): New member.

13 years ago* lisp/subr.el (eventp): Presume that if it looks vaguely like an event,
Stefan Monnier [Thu, 19 Jul 2012 06:24:04 +0000 (02:24 -0400)]
* lisp/subr.el (eventp): Presume that if it looks vaguely like an event,
it's an event.

13 years agoNew macro to iterate over all buffers, miscellaneous cleanups.
Dmitry Antipov [Thu, 19 Jul 2012 03:55:59 +0000 (07:55 +0400)]
New macro to iterate over all buffers, miscellaneous cleanups.
* lisp.h (all_buffers): Remove declaration.
* buffer.h (all_buffers): Add declaration, with comment.
(for_each_buffer): New macro.
* alloc.c (Fgarbage_collect, mark_object): Use it.
* buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte)
(init_buffer): Likewise.
* data.c (Fset_default): Likewise.
* coding.c (code_conversion_restore): Remove redundant check
for dead buffer.
* buffer.c (Fkill_buffer): Likewise.  Remove obsolete comment.

13 years agoEnhancements to ppss related code (thanks Stefan).
Fabián Ezequiel Gallina [Thu, 19 Jul 2012 00:55:55 +0000 (21:55 -0300)]
Enhancements to ppss related code (thanks Stefan).
* progmodes/python.el (python-indent-context)
(python-indent-calculate-indentation, python-indent-dedent-line)
(python-indent-electric-colon, python-nav-forward-block)
(python-mode-abbrev-table)
(python-info-assignment-continuation-line-p): Simplified checks
for ppss context.
(python-info-continuation-line-p): Cleanup.
(python-info-ppss-context): Do not catch 'quote.
(python-info-ppss-context-type)
(python-info-ppss-comment-or-string-p): Simplify.

13 years agoFix bug that created negative-length intervals.
Andreas Schwab [Wed, 18 Jul 2012 21:33:37 +0000 (14:33 -0700)]
Fix bug that created negative-length intervals.

* intervals.c (merge_interval_right, merge_interval_left):
Do not zero out this interval if it is absorbed by its children,
as this interval's total length doesn't change in that case.  See
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00403.html>.

13 years agoprogmodes/python.el: Set file local vars at end of file and clean tabs.
Fabián Ezequiel Gallina [Wed, 18 Jul 2012 19:04:06 +0000 (16:04 -0300)]
progmodes/python.el: Set file local vars at end of file and clean tabs.

13 years ago* progmodes/python.el: Enhancements to eldoc support.
Fabián Ezequiel Gallina [Wed, 18 Jul 2012 18:40:03 +0000 (15:40 -0300)]
* progmodes/python.el: Enhancements to eldoc support.
(python-info-current-symbol): New function.
(python-eldoc-at-point): Use python-info-current-symbol.
(python-info-current-defun): Fix cornercase on first defun scan.
(python-eldoc--get-doc-at-point): Use python-info-current-symbol
and signal error when no inferior python process is available.

13 years ago* alloc.c (Fmake_bool_vector): Fix off-by-8 bug
Paul Eggert [Wed, 18 Jul 2012 17:29:34 +0000 (10:29 -0700)]
* alloc.c (Fmake_bool_vector): Fix off-by-8 bug

when invoking (make-bool-vector N t) and N is a positive
multiple of 8 -- the last 8 bits were mistakenly cleared.

13 years agoRemove some struct layout assumptions in bool vectors.
Paul Eggert [Wed, 18 Jul 2012 17:26:43 +0000 (10:26 -0700)]
Remove some struct layout assumptions in bool vectors.

* alloc.c (bool_header_size): New constant.
(header_size, word_size): Move earlier, as they're now used earlier.
Use 'word_size' in a few more places, where it's appropriate.
(Fmake_bool_vector, sweep_vectors): Don't assume that there is no
padding before the data member of a bool vector.
(sweep_vectors): Use PSEUDOVECTOR_TYPEP, in an eassert, rather
than doing the check by hand with an abort ().

13 years ago* src/eval.c (Fdefvar): Don't check constants since we only set the var if
Stefan Monnier [Wed, 18 Jul 2012 15:20:33 +0000 (11:20 -0400)]
* src/eval.c (Fdefvar): Don't check constants since we only set the var if
it's not yet defined anyway.

13 years ago* vc/vc-git.el (vc-git-state): Don't call `vc-git-registered',
Dmitry Gutov [Wed, 18 Jul 2012 15:04:36 +0000 (17:04 +0200)]
* vc/vc-git.el (vc-git-state): Don't call `vc-git-registered',
assume it's always t.
(vc-git-registered): Remove caching, the function is only called
once.
(vc-git-branches): Use `vc-git--call' instead of `call-process'.

13 years agoFix last commit.
Chong Yidong [Wed, 18 Jul 2012 14:48:25 +0000 (22:48 +0800)]
Fix last commit.

13 years ago* subr.el (last-input-char, last-command-char): Remove.
Chong Yidong [Wed, 18 Jul 2012 14:46:32 +0000 (22:46 +0800)]
* subr.el (last-input-char, last-command-char): Remove.

13 years ago* simple.el (count-words): Report on narrowing.
Chong Yidong [Wed, 18 Jul 2012 14:29:34 +0000 (22:29 +0800)]
* simple.el (count-words): Report on narrowing.

13 years ago* lisp/bindings.el: Bind M-= to count-words.
Chong Yidong [Wed, 18 Jul 2012 14:17:49 +0000 (22:17 +0800)]
* lisp/bindings.el: Bind M-= to count-words.

13 years ago* faces.el (face-spec-reset-face): Handle reverse video.
Chong Yidong [Wed, 18 Jul 2012 14:00:09 +0000 (22:00 +0800)]
* faces.el (face-spec-reset-face): Handle reverse video.

13 years ago* lisp/progmodes/sh-script.el (sh-imenu-generic-expression):
Masatake YAMATO [Wed, 18 Jul 2012 13:40:57 +0000 (09:40 -0400)]
* lisp/progmodes/sh-script.el (sh-imenu-generic-expression):
Capture a function with `function' keyword and without parentheses
like "function FOO".

13 years ago* subr.el (keyboard-translate): Doc fix.
Chong Yidong [Wed, 18 Jul 2012 13:31:16 +0000 (21:31 +0800)]
* subr.el (keyboard-translate): Doc fix.

13 years ago* src/lisp.h (last_undo_boundary): Declare new var.
Stefan Monnier [Wed, 18 Jul 2012 13:20:59 +0000 (09:20 -0400)]
* src/lisp.h (last_undo_boundary): Declare new var.
* src/keyboard.c (command_loop_1): Set it.
* src/cmds.c (Fself_insert_command): Use it to only remove boundaries that
were auto-added by the command loop.

13 years agognus/{sieve-mode,sieve}.el: Close buffers by default
Julien Danjou [Wed, 18 Jul 2012 10:38:37 +0000 (10:38 +0000)]
gnus/{sieve-mode,sieve}.el: Close buffers by default

13 years ago* w32font.c (Qsymbol): Remove local definition.
Andreas Schwab [Wed, 18 Jul 2012 10:12:43 +0000 (12:12 +0200)]
* w32font.c (Qsymbol): Remove local definition.
(syms_of_w32font): Don't DEFSYM it.

13 years ago* window.el (split-window-sensibly): Make WINDOW argument
Tassilo Horn [Wed, 18 Jul 2012 10:02:54 +0000 (12:02 +0200)]
* window.el (split-window-sensibly): Make WINDOW argument
optional.

13 years agoFix sweep_vectors to handle large bool vectors correctly.
Dmitry Antipov [Wed, 18 Jul 2012 09:46:07 +0000 (13:46 +0400)]
Fix sweep_vectors to handle large bool vectors correctly.
* alloc.c (sweep_vectors): Account total_vector_bytes for
bool vectors larger than VBLOCK_BYTES_MAX.

13 years agoFix usage of C-x 8 key translations in Isearch.
Chong Yidong [Wed, 18 Jul 2012 09:27:23 +0000 (17:27 +0800)]
Fix usage of C-x 8 key translations in Isearch.

* lisp/isearch.el (isearch-mode-map): Handle C-x 8 key translations,
and make C-x 8 RET exit isearch.

* lisp/international/iso-transl.el: Move isearch-mode-map key
definitions to isearch.el.

13 years agoRevert bogus change in revno 108370.
Chong Yidong [Wed, 18 Jul 2012 08:11:08 +0000 (16:11 +0800)]
Revert bogus change in revno 108370.

* src/frame.c (x_set_frame_parameters): Revert bogus change introduced
in 2012-05-25 commit by Paul Eggert.

13 years ago* lisp/emacs-lisp/eieio.el: Adapt further to gv.el.
Stefan Monnier [Wed, 18 Jul 2012 07:20:04 +0000 (03:20 -0400)]
* lisp/emacs-lisp/eieio.el: Adapt further to gv.el.
(eieio-defclass): Use gv-define-setter when possible.

13 years agoReturn more descriptive data from Fgarbage_collect.
Dmitry Antipov [Wed, 18 Jul 2012 05:44:36 +0000 (09:44 +0400)]
Return more descriptive data from Fgarbage_collect.
Suggested by Stefan Monnier in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
* src/alloc.c (bounded_number): New function.
(total_buffers, total_vectors): New variable.
(total_string_size): Rename to total_string_bytes, adjust users.
(total_vector_size): Rename to total_vector_bytes, adjust users.
(sweep_vectors): Account total_vectors and total_vector_bytes.
(Fgarbage_collect): New return value.  Adjust documentation.
(gc_sweep): Account total_buffers.
(Fmemory_free, Fmemory_use_counts): Use bounded_number.
(VECTOR_SIZE): Remove.
* src/data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
(Qinterval, Qmisc): New symbols.
(syms_of_data): Initialize them.
* src/lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
(Qcons, Qbuffer): New declarations.
* lisp/emacs-lisp/chart.el (chart-emacs-storage): Change to
reflect new format of data returned by Fgarbage_collect.

13 years agoNew utility functions + python-info-ppss-context fix.
Fabián Ezequiel Gallina [Tue, 17 Jul 2012 20:27:49 +0000 (17:27 -0300)]
New utility functions + python-info-ppss-context fix.
* progmodes/python.el (python-info-beginning-of-block-statement-p)
(python-info-ppss-comment-or-string-p): New functions.
(python-info-ppss-context): Small fix for string check.

13 years ago* lisp/dired-aux.el (dired-do-async-shell-command): Doc fix.
Juri Linkov [Tue, 17 Jul 2012 18:40:15 +0000 (21:40 +0300)]
* lisp/dired-aux.el (dired-do-async-shell-command): Doc fix.
(dired-do-async-shell-command): Don't add `*' at the end of the
command (Bug#11815).
(dired-do-shell-command): Doc fix.
(dired-shell-stuff-it): Strip the trailing "&" and ";" if any.
Join the individual commands using either "&" or ";" as the
separator depending on the values of these trailing characters.
At the end re-add the trailing "&".  (Bug#10598)

* lisp/simple.el (async-shell-command): Sync the interactive spec with
`shell-command'.  Doc fix.
(shell-command): Doc fix.

13 years ago* lisp/descr-text.el (describe-char): Fix format args.
Juri Linkov [Tue, 17 Jul 2012 18:15:02 +0000 (21:15 +0300)]
* lisp/descr-text.el (describe-char): Fix format args.

13 years agoFinal renames and doc fixes for movement commands.
Fabián Ezequiel Gallina [Tue, 17 Jul 2012 18:02:53 +0000 (15:02 -0300)]
Final renames and doc fixes for movement commands.
* progmodes/python.el (python-nav-beginning-of-statement): Rename
from python-nav-statement-start.
(python-nav-end-of-statement): Rename from
python-nav-statement-end.
(python-nav-beginning-of-block): Rename from
python-nav-block-start.
(python-nav-end-of-block): Rename from python-nav-block-end.

13 years ago* progmodes/python.el (python-shell-send-string-no-output): Allow
Fabián Ezequiel Gallina [Tue, 17 Jul 2012 16:47:58 +0000 (13:47 -0300)]
* progmodes/python.el (python-shell-send-string-no-output): Allow
accept-process-output to quit, keeping shell process ready for
future interactions.

13 years ago* alloc.c (Fmemory_free): Account for memory-free's own storage.
Paul Eggert [Tue, 17 Jul 2012 16:24:57 +0000 (09:24 -0700)]
* alloc.c (Fmemory_free): Account for memory-free's own storage.

Round up, not down.  Improve doc.

13 years ago* lisp/emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name.
Stefan Monnier [Tue, 17 Jul 2012 12:58:25 +0000 (08:58 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl-progv): Use a properly prefixed var name.

13 years ago* lisp/emacs-lisp/elint.el (elint-find-args-in-code):
Stefan Monnier [Tue, 17 Jul 2012 12:30:48 +0000 (08:30 -0400)]
* lisp/emacs-lisp/elint.el (elint-find-args-in-code):
Use help-function-arglist, so as to handle lexical byte-code.

13 years agoRestore old code in allocate_string_data to avoid Faset breakage.
Dmitry Antipov [Tue, 17 Jul 2012 12:31:29 +0000 (16:31 +0400)]
Restore old code in allocate_string_data to avoid Faset breakage.
Reported by Julien Danjou <julien@danjou.info> in
http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00371.html.
* alloc.c (allocate_string_data): Restore old code with minor
adjustments, fix comment to explain this subtle issue.

13 years agoMerge from emacs-24
Stefan Monnier [Tue, 17 Jul 2012 11:52:00 +0000 (07:52 -0400)]
Merge from emacs-24

13 years ago* lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws):
Stefan Monnier [Tue, 17 Jul 2012 11:40:23 +0000 (07:40 -0400)]
* lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws):
Avoid spuriously marking the buffer as modified because of c-is-sws.

13 years agoAuto-commit of generated files.
Glenn Morris [Tue, 17 Jul 2012 10:17:29 +0000 (06:17 -0400)]
Auto-commit of generated files.

13 years agoCleanup and convert miscellaneous checks to eassert.
Dmitry Antipov [Tue, 17 Jul 2012 09:12:24 +0000 (13:12 +0400)]
Cleanup and convert miscellaneous checks to eassert.
* alloc.c (mark_interval): Fix comment, partially rephrase
old comment from intervals.h (see below).
* intervals.c (find_interval, adjust_intervals_for_insertion)
(delete_interval, adjust_intervals_for_deletion)
(graft_intervals_into_buffer, temp_set_point_both, copy_intervals):
Convert to eassert.
(adjust_intervals_for_insertion, make_new_interval):
Remove obsolete and unused code.
* intervals.h (struct interval): Remove obsolete comment.
* textprotp.c (erase_properties): Remove unused code.
(Fadd_text_properties, set_text_properties_1, Fremove_text_properties)
(Fremove_list_of_text_properties): Convert to eassert.

13 years ago* lisp/progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR"
Stefan Monnier [Tue, 17 Jul 2012 08:38:12 +0000 (04:38 -0400)]
* lisp/progmodes/sh-script.el (sh-syntax-propertize-function): Mark "${#VAR"
as not-a-comment.
* test/indent/shell.sh: Add test case for ${#VAR}.

13 years agoMisc minor changes.
Stefan Monnier [Tue, 17 Jul 2012 08:15:06 +0000 (04:15 -0400)]
Misc minor changes.
* lisp/xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read):
Use read-event since we don't really want to read chars but bytes.
* lisp/emacs-lisp/macroexp.el (macroexp-let2): Use more informative names
for uninterned vars.

13 years ago* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): Highlight not only
Stefan Monnier [Tue, 17 Jul 2012 08:11:31 +0000 (04:11 -0400)]
* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): Highlight not only
$$..$$ but also $..$ using regexps.
Use tex-verbatim for \url and \path.
(tex-font-lock-keywords): Define as defconst like the others.
(tex-common-initialization): Don't use font-lock-syntax-table any more.
* test/indent/latex-mode.tex: New file.

13 years agoDocument insert-char changes.
Chong Yidong [Tue, 17 Jul 2012 07:43:01 +0000 (15:43 +0800)]
Document insert-char changes.

* doc/emacs/basic.texi (Inserting Text): Replace ucs-insert with
insert-char.  Provide more details of input.

* doc/lispref/mule.texi (International Chars, Input Methods): Likewise.

* doc/lispref/text.texi (Insertion): Document insert-char changes.

* src/editfns.c (Finsert_char): Doc fix.

13 years agoFix toolkit configuration report.
Dmitry Antipov [Tue, 17 Jul 2012 07:30:25 +0000 (11:30 +0400)]
Fix toolkit configuration report.
* configure.ac (USE_X_TOOLKIT): Report toolkit as GTK3 if
--with-x-toolkit=gtk3 is used.

13 years agoFix previous change to make Fmemory_free always accurate.
Dmitry Antipov [Tue, 17 Jul 2012 07:15:50 +0000 (11:15 +0400)]
Fix previous change to make Fmemory_free always accurate.
* alloc.c (make_interval): Update total_free_intervals.
(make_float): Likewise for total_free_floats.
(free_cons, Fcons): Likewise for total_free_conses.
(SETUP_ON_FREE_LIST, allocate_vector_from_block):
Likewise for total_free_vector_bytes.
(Fmake_symbol): Likewise for total_free_symbols.
(bytes_free): Remove.

13 years agoSimple free memory accounting feature.
Dmitry Antipov [Tue, 17 Jul 2012 05:01:33 +0000 (09:01 +0400)]
Simple free memory accounting feature.
* alloc.c (bytes_free, total_free_vector_bytes): New variable.
(sweep_vectors): Accumulate size of free vectors.
(Fgarbage_collect): Setup bytes_free.
(Fmemory_free): New function.
(syms_of_alloc): Register it.

13 years agoCleanup overlays checking.
Dmitry Antipov [Tue, 17 Jul 2012 04:29:50 +0000 (08:29 +0400)]
Cleanup overlays checking.
* buffer.h (OVERLAY_VALID): Remove as useless synonym of OVERLAYP.
* buffer.c (overlay_touches_p, recenter_overlay_lists): Change to
eassert and OVERLAYP.
(sort_overlays): Change to use OVERLAYP.

13 years agoMake insert-char interactive, and ucs-insert an obsolete alias for it.
René Kyllingstad [Tue, 17 Jul 2012 04:17:23 +0000 (12:17 +0800)]
Make insert-char interactive, and ucs-insert an obsolete alias for it.

* lisp/international/mule-cmds.el (ucs-insert): Make it an obsolete
alias for insert-char.

* editfns.c (Finsert_char): Make it interactive, and make the second
arg optional.  Copy interactive spec and docstring from ucs-insert.

13 years ago* floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT.
Paul Eggert [Tue, 17 Jul 2012 02:56:00 +0000 (19:56 -0700)]
* floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT.

Unlike the other wrapped functions, fabs has an unspecified
effect on errno.

13 years agoFix regression with pthread_sigmask on FreeBSD.
Paul Eggert [Tue, 17 Jul 2012 02:09:58 +0000 (19:09 -0700)]
Fix regression with pthread_sigmask on FreeBSD.

* configure.ac: Configure gnulib at the end, not before running
pkg-config.  This restores the behavior before 2012-06-22, when
higher-resolution time stamps were added, and fixes a bug whereby
LIB_PTHREAD was not used and gnulib's part of 'configure'
therefore incorrectly assumed that pthread_sigmask wasn't working.
Fix the problem with -lrt and clock_gettime a different way.
This should complete the fix for Bug#11884.
(pre_PKG_CONFIG_CFLAGS, pre_PKG_CONFIG_LIBS): New shell vars.

13 years ago* progmodes/python.el: Simplified imenu implementation.
Fabián Ezequiel Gallina [Mon, 16 Jul 2012 17:18:39 +0000 (14:18 -0300)]
* progmodes/python.el: Simplified imenu implementation.
(python-nav-jump-to-defun): Remove command.
(python-mode-map): Use `imenu' instead.
(python-nav-list-defun-positions-cache)
(python-imenu-include-defun-type, python-imenu-make-tree)
(python-imenu-subtree-root-label, python-imenu-index-alist):
Remove vars.
(python-nav-list-defun-positions, python-nav-read-defun)
(python-imenu-tree-assoc, python-imenu-make-element-tree)
(python-imenu-make-tree, python-imenu-create-index): Remove
functions.
(python-mode): Update to interact with imenu by setting
`imenu-extract-index-name-function' only.

13 years ago* progmodes/python.el: Enhancements to navigation commands.
Fabián Ezequiel Gallina [Mon, 16 Jul 2012 13:13:01 +0000 (10:13 -0300)]
* progmodes/python.el: Enhancements to navigation commands.
(python-nav-backward-sentence)
(python-nav-forward-sentence): Remove.
(python-nav-backward-statement, python-nav-forward-statement)
(python-nav-statement-start, python-nav-statement-end)
(python-nav-backward-block, python-nav-forward-block)
(python-nav-block-start, python-nav-block-end)
(python-nav-forward-sexp-function)
(python-info-current-line-comment-p)
(python-info-current-line-empty-p): New functions.
(python-indent-context): Use `python-nav-statement-start'.

13 years ago* eshell/em-ls.el (eshell/ls): Use `apply'.
Michael Albinus [Mon, 16 Jul 2012 11:42:01 +0000 (13:42 +0200)]
* eshell/em-ls.el (eshell/ls): Use `apply'.

* eshell/em-unix.el (eshell/su, eshell/sudo): Apply Tramp's ad-hoc
multi-hops, instead of Tramp internals.

13 years ago* nsterm.m (keyDown): Interpret flags without left/right bits
Jan D. [Mon, 16 Jul 2012 11:02:09 +0000 (13:02 +0200)]
* nsterm.m (keyDown): Interpret flags without left/right bits
as the left key.

13 years ago* vc/ediff.el (ediff-directories): Add trailing space to prompts.
Michael Albinus [Mon, 16 Jul 2012 10:19:56 +0000 (12:19 +0200)]
* vc/ediff.el (ediff-directories): Add trailing space to prompts.

* vc/ediff-diff.el (ediff-same-file-contents): Handle the case,
when F1 and F2 are located on different hosts.

13 years agoRemove empty and useless init functions.
Dmitry Antipov [Mon, 16 Jul 2012 04:47:31 +0000 (08:47 +0400)]
Remove empty and useless init functions.
* lisp.h (init_character_once, init_fns, init_image)
(init_filelock, init_sound): Remove prototype.
* character.c (init_character_once): Remove.
* filelock.c (init_filelock): Likewise.
* fns.c (init_fns): Likewise.
* image.c (init_image): Likewise.
* sound.c (init_sound): Likewise.
* emacs.c (main): Adjust accordingly.

13 years ago* gtkutil.h: Tiny cleanups.
Dmitry Antipov [Mon, 16 Jul 2012 03:36:46 +0000 (07:36 +0400)]
* gtkutil.h: Tiny cleanups.
(use_old_gtk_file_dialog): Remove useless declaration.
(xg_uses_old_file_dialog): Add suggested const attribute.

13 years agoMerge from gnulib.
Paul Eggert [Sun, 15 Jul 2012 18:18:37 +0000 (11:18 -0700)]
Merge from gnulib.

2012-07-15 pthread_sigmask: fix bug on FreeBSD 9 (Bug#11884)
2012-07-11 gettext: do not assume '#define ... defined ...' behavior

13 years agoFix bug #11943 with slow redisplay in large paragraphs full of weak characters.
Eli Zaretskii [Sun, 15 Jul 2012 14:41:08 +0000 (17:41 +0300)]
Fix bug #11943 with slow redisplay in large paragraphs full of weak characters.

 src/bidi.c (MAX_STRONG_CHAR_SEARCH): New macro.
 (bidi_paragraph_init): Use it to limit search forward for a strong
 directional character in abnormally large paragraphs full of
 neutral or weak characters.

13 years ago* src/gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to
Stefano Facchini [Sun, 15 Jul 2012 14:22:09 +0000 (22:22 +0800)]
* src/gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to
the toolbar.
(xg_make_tool_item): Give the widget event box a transparent background.

13 years agoCleanup basic allocation variables and functions.
Dmitry Antipov [Sun, 15 Jul 2012 11:17:09 +0000 (15:17 +0400)]
Cleanup basic allocation variables and functions.
* alloc.c (ignore_warnings, init_intervals, init_float)
(init_cons, init_symbol, init_marker): Remove.
(interval_block_index): Initialize to INTERVAL_BLOCK_SIZE.
(float_block_index): Initialize to FLOAT_BLOCK_SIZE.
(cons_block_index): Initialize to CONS_BLOCK_SIZE.
(symbol_block_size): Initialize to SYMBOL_BLOCK_SIZE.
(marker_block_index): Initialize to MARKER_BLOCK_SIZE.
(staticidx, init_alloc_once, init_strings, free_ablock):
Remove redundant initialization.
* fns.c (init_weak_hash_tables): Remove.
* lisp.h (init_weak_hash_tables): Remove prototype.

13 years agoUse zero_vector where appropriate.
Dmitry Antipov [Sun, 15 Jul 2012 07:57:54 +0000 (11:57 +0400)]
Use zero_vector where appropriate.
* alloc.c (zero_vector): Define as Lisp_Object.  Adjust users
accordingly.
* lisp.h (zero_vector): New declaration.
* font.c (null_vector): Remove.
(syms_of_font): Remove initialization and staticpro.
(font_list_entities, font_find_for_lface): Change to use zero_vector.
* keymap.c (Faccessible_keymaps): Likewise.

13 years agoAdd news for exclamation-mark and flymake
Leo Liu [Sun, 15 Jul 2012 00:52:16 +0000 (08:52 +0800)]
Add news for exclamation-mark and flymake

13 years ago* xt-mouse.el: Implement extended mouse coordinates.
Chong Yidong [Sat, 14 Jul 2012 15:40:12 +0000 (23:40 +0800)]
* xt-mouse.el: Implement extended mouse coordinates.
(xterm-mouse-translate): Move code into xterm-mouse-translate-1.
(xterm-mouse-translate-extended, xterm-mouse-translate-1)
(xterm-mouse--read-event-sequence-1000)
(xterm-mouse--read-event-sequence-1006): New functions.  For old
mouse protocol, handle M-mouse-X events correctly.
(xterm-mouse-event): New arg specifying mouse protocol.
(turn-on-xterm-mouse-tracking-on-terminal)
(turn-off-xterm-mouse-tracking-on-terminal): Send DEC 1006
sequence to toggle extended coordinates on newer XTerms.  This
appears to be harmless on terminals which do not support this.

13 years agoAdd fringe bitmap indicators for flymake
Leo Liu [Sat, 14 Jul 2012 12:02:22 +0000 (20:02 +0800)]
Add fringe bitmap indicators for flymake

13 years agoAdd a new bitmap exclamation-mark
Leo Liu [Sat, 14 Jul 2012 11:44:39 +0000 (19:44 +0800)]
Add a new bitmap exclamation-mark

13 years agoImprove commentary in src/systime.h.
Eli Zaretskii [Sat, 14 Jul 2012 11:32:01 +0000 (14:32 +0300)]
Improve commentary in src/systime.h.

13 years agoDon't use FILE_SYSTEM_CASE in MS-DOS, or anywhere else.
Eli Zaretskii [Sat, 14 Jul 2012 10:46:56 +0000 (13:46 +0300)]
Don't use FILE_SYSTEM_CASE in MS-DOS, or anywhere else.

 src/s/msdos.h (FILE_SYSTEM_CASE): Don't define.
 src/fileio.c (FILE_SYSTEM_CASE): Don't define.
 (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
 Fixes problems on MS-DOS with Vtemp_file_name_pattern when
 call-process-region passes it through expand-file-name.
 src/dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
 admin/CPP-DEFINES: Remove FILE_SYSTEM_CASE.

13 years agoAdapt the MS-DOS build to the latest configury changes.
Eli Zaretskii [Sat, 14 Jul 2012 10:08:14 +0000 (13:08 +0300)]
Adapt the MS-DOS build to the latest configury changes.

 msdos/sed1v2.inp: In the recipe for $(leimdir)/leim-list.el, edit the
 prerequisites to be "temacs$(EXEEXT) $(BOOTSTRAPEMACS)", to avoid
 the need to rebuild $(bootstrap_exe), which requires a Unixy shell
 via lisp/Makefile.in's "update-subdirs" command.
 msdos/sedlibmk.inp (am_libgnu_a_OBJECTS): Adjust the removal of
 careadlinkat.$(OBJEXT) to the changes in lib/Makefile.in.
 msdos/sed2v2.inp (DATA_START, GC_SETJMP_WORKS, HAVE_MENUS)
 (HAVE_MOUSE): Edit for DJGPP, according to what was previously
 done on src/s/msdos.h.
 msdos/gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference.
 src/s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE)
 (HAVE_MENUS): Don't define, defined by editing config.in with
 msdos/sed2v2.inp.
 (GMALLOC_INHIBIT_VALLOC): Don't define.
 (MODE_LINE_BINARY_TEXT): Remove, not used anymore.

13 years agoAdapt the MS-DOS build to the latest configury changes.
Eli Zaretskii [Sat, 14 Jul 2012 10:03:30 +0000 (13:03 +0300)]
Adapt the MS-DOS build to the latest configury changes.

 msdos/sed1v2.inp: In the recipe for $(leimdir)/leim-list.el, edit the
 prerequisites to be "temacs$(EXEEXT) $(BOOTSTRAPEMACS)", to avoid
 the need to rebuild $(bootstrap_exe), which requires a Unixy shell
 via lisp/Makefile.in's "update-subdirs" command.
 msdos/sedlibmk.inp (am_libgnu_a_OBJECTS): Adjust the removal of
 careadlinkat.$(OBJEXT) to the changes in lib/Makefile.in.
 msdos/sed2v2.inp (DATA_START, GC_SETJMP_WORKS, HAVE_MENUS)
 (HAVE_MOUSE): Edit for DJGPP, according to what was previously
 done on src/s/msdos.h.
 msdos/gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference.
 src/s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE)
 (HAVE_MENUS): Don't define, defined by editing config.in with
 msdos/sed2v2.inp.
 (GMALLOC_INHIBIT_VALLOC): Don't define.
 (MODE_LINE_BINARY_TEXT): Remove, not used anymore.

13 years ago*** empty log message ***
Jan D. [Sat, 14 Jul 2012 09:08:36 +0000 (11:08 +0200)]
*** empty log message ***

13 years agoFix electric-pair-mode/delete-selection-mode interaction.
Chong Yidong [Sat, 14 Jul 2012 05:32:23 +0000 (13:32 +0800)]
Fix electric-pair-mode/delete-selection-mode interaction.

* lisp/electric.el (electric-pair-post-self-insert-function): Fix pair
insertion in empty-region case.

13 years ago* nt/config.nt: Sync with autogen/config.in.
Juanma Barranquero [Sat, 14 Jul 2012 02:26:31 +0000 (04:26 +0200)]
* nt/config.nt: Sync with autogen/config.in.
(GC_MARK_SECONDARY_STACK, GC_MARK_STACK, GC_SETJMP_WORKS)
(SETUP_SLAVE_PTY): New macros.

* src/s/ms-w32.h (GC_SETJMP_WORKS, GC_MARK_STACK): Set in nt/config.nt.

13 years ago* rect.el (copy-rectangle-as-kill): New command.
Reuben Thomas [Sat, 14 Jul 2012 02:19:07 +0000 (10:19 +0800)]
* rect.el (copy-rectangle-as-kill): New command.

* lisp/rect.el, lisp/register.el: Move bindings to bindings.el.

* lisp/bindings.el: Consolidate ctl-x-r-map bindings.  Bind
copy-rectangle-as-kill to C-x r w.

13 years agoFix typos in ChangeLogs.
Juanma Barranquero [Sat, 14 Jul 2012 02:08:32 +0000 (04:08 +0200)]
Fix typos in ChangeLogs.

13 years agoAuto-commit of generated files.
Glenn Morris [Sat, 14 Jul 2012 00:06:05 +0000 (20:06 -0400)]
Auto-commit of generated files.

13 years agoMove GC_SETJMP_WORKS, GC_MARK_STACK from src/s to configure
Glenn Morris [Sat, 14 Jul 2012 00:04:10 +0000 (20:04 -0400)]
Move GC_SETJMP_WORKS, GC_MARK_STACK from src/s to configure

* configure.ac (GC_SETJMP_WORKS, GC_MARK_STACK): Move here from src/s.
(AH_BOTTOM): Move GC_SETJMP_WORKS GCC fallback to main body.

* src/s/aix4-2.h, src/s/freebsd.h, src/s/gnu-linux.h, src/s/hpux10-20.h:
* src/s/irix6-5.h, src/s/netbsd.h, src/s/sol2-6.h, src/s/unixware.h:
Let configure set GC_SETJMP_WORKS, GC_MARK_STACK.

13 years agoMove GC_MARK_SECONDARY_STACK from src/s to configure
Glenn Morris [Fri, 13 Jul 2012 21:54:35 +0000 (17:54 -0400)]
Move GC_MARK_SECONDARY_STACK from src/s to configure

* configure.ac (GC_MARK_SECONDARY_STACK): Move here from src/s.

* src/s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it.

13 years agoMove SETUP_SLAVE_PTY from src/s to configure
Glenn Morris [Fri, 13 Jul 2012 21:45:55 +0000 (17:45 -0400)]
Move SETUP_SLAVE_PTY from src/s to configure

* configure.ac (SETUP_SLAVE_PTY): Move here from src/s.
(FIRST_PTY_LETTER, PTY_NAME_SPRINTF): Combine sol2/unixware cases.

* src/s/usg5-4-common.h (SETUP_SLAVE_PTY): Let configure set it.
* src/s/irix6-5.h (SETUP_SLAVE_PTY): No more need to unset it.

13 years agoFixes: debbugs:11938
Andreas Schwab [Fri, 13 Jul 2012 18:15:22 +0000 (20:15 +0200)]
Fixes: debbugs:11938
* emacs-lisp/cl.el (labels): Remove spurious quote.

13 years agoRemove compiler warnings in objective-C files.
Jan D. [Fri, 13 Jul 2012 18:03:10 +0000 (20:03 +0200)]
Remove compiler warnings in objective-C files.

* nsfns.m (x_set_icon_name, ns_set_name_internal)
(ns_set_name_as_filename, ns_implicitly_set_icon_type)
(x_set_icon_type, ns_lisp_to_cursor_type, Fns_read_file_name)
(Fns_get_resource, Fns_set_resource, Fx_open_connection)
(Fns_font_name, Fns_perform_service)
(Fns_convert_utf8_nfd_to_nfc, ns_do_applescript)
(Fns_do_applescript, Fx_show_tip): Use SSDATA where appropriate.
(ns_set_name): Remove unused variable view.
(x_set_menu_bar_lines): Remove unused variable olines.
(x_set_tool_bar_lines): Remove unused variable root_window.
(Fns_list_colors): Put () around assignment in while statement.
(Fns_perform_service): Remove unused variable len.
(Fns_display_usable_bounds): Remove unused variable top.
(syms_of_nsfns): Remove unused variable i.

* nsfont.m (ns_get_family, ns_lang_to_script, ns_otf_to_script)
(ns_registry_to_script, ns_get_req_script, nsfont_open): Use SSDATA
where appropriate.
(ns_get_covering_families, ns_findfonts, nsfont_list_family): Put ()
around assignment in loop statement.
(nsfont_open): Remove unused variable i.
(nsfont_open): Remove unused variable len.
(nsfont_draw): Remove unused variable cs.

* nsimage.m (ns_load_image, allocInitFromFile): Use SSDATA where
appropriate.
(setXBMColor): Remove unused variable len.
(setPixmapData): Put () around assignment in loop statement.

* nsmenu.m (ns_update_menubar, ns_menu_show, process_dialog)
(initFromContents): Use SSDATA where appropriate.
(ns_update_menubar): Add braces to ambigous if-else.
(initWithTitle): Put () around assignment in if statement.
(ns_menu_show): Remove unused variables window and keymap.
(update_frame_tool_bar): Remove unused variable selected_p.
(initWithContentRect): Remove unused variable this_cmd_name.

* nsterm.h (menuDown): Add id as type to argument sender.
(ns_display_info_for_name): Add Lisp_Object argument.
(ns_term_init): Add Lisp_Object argument.
(ns_map_event_to_object): Add void argument.
(ns_string_from_pasteboard, ns_string_to_pasteboard): Add correct
prototype with arguments and only declare if __OBJC__.
(nxatoms_of_nsselect): Add void argument.
(ns_lisp_to_cursor_type): Add Lisp_Object argument.
(ns_alloc_autorelease_pool): Add void argument.
(ns_release_autorelease_pool): Add void* argument.
(ns_get_defaults_value): Add const char* argument.

* nsterm.m (uRect): Only define if NS_IMPL_GNUSTEP.
(x_free_frame_resources): Pass x_free_frame_resources to NSTRACE.
(ns_lisp_to_color, ns_string_to_lispmod, ns_term_init)
(ns_term_shutdown, requestService, initFrameFromEmacs): Use SSDATA
where appropriate.
(ns_exec_path, ns_load_path, changeFont): Put () around assignment used
as boolean expression.
(x_set_window_size): Remove unused variable toolbar.
(ns_get_color_default, ns_mod_to_lisp): Remove.
(ns_mouse_position): Remove unused variables xchar and ychar.
(ns_compute_glyph_string_overhangs): Remove unused variable face.
(ns_set_vertical_scroll_bar): Remove unused variable count.
(ns_delete_terminal): Remove unused variable i.
(ns_term_init): Remove unused variables r, g and b.
(mouseDown): Remove unused variable window.
(windowDidResize): Move definition of theWindow inside NS_IMPL_GNUSTEP.
(initFrameFromEmacs): Remove unused variable vbextra.
(mouseEntered): Remove unused variables p and dpyinfo.
(mouseExited): Remove unused variables p and r.
(ns_define_frame_cursor, ns_clear_frame_area)
(ns_draw_window_cursor, ns_initialize_display_info): Make static.
(menuDown): Assign [sender tag] to variable and cast the variable.

13 years ago* nsmenu.m (ns_update_menubar): Exchange place of argument 2 and 3 to
Jan D. [Fri, 13 Jul 2012 17:07:02 +0000 (19:07 +0200)]
* nsmenu.m (ns_update_menubar): Exchange place of argument 2 and 3 to
memcpy.

13 years agolisp/bindings.el (top): Use `mapc' instead of `mapcar'.
Juanma Barranquero [Fri, 13 Jul 2012 17:02:18 +0000 (19:02 +0200)]
lisp/bindings.el (top): Use `mapc' instead of `mapcar'.

13 years agolisp/loadup.el (top): Remove bogus `if' choice (brought by revno:88805).
Juanma Barranquero [Fri, 13 Jul 2012 16:50:21 +0000 (18:50 +0200)]
lisp/loadup.el (top): Remove bogus `if' choice (brought by revno:88805).

13 years ago* progmodes/sql.el (sql-comint): Suppress the check for program on
Michael Albinus [Fri, 13 Jul 2012 14:58:12 +0000 (16:58 +0200)]
* progmodes/sql.el (sql-comint): Suppress the check for program on
remote hosts.  Reported by Francis Devereux <francis@devrx.org>.
(Bug#11908)

13 years agoGive permanent-local property to per-buffer variables without defaults.
Chong Yidong [Fri, 13 Jul 2012 14:25:59 +0000 (22:25 +0800)]
Give permanent-local property to per-buffer variables without defaults.

* doc/emacs/custom.texi (Examining): Update C-h v message.

* lisp/bindings.el: Assign a non-nil permanent-local property to
per-buffer variables which lack a default value.

* lisp/help-fns.el (describe-variable): In the "automatically becomes
local" notice, take note of permanent-local variables.

13 years ago* image.c (Fimagemagick_types): Initialize ex with GetExceptionInfo
Jan D. [Fri, 13 Jul 2012 12:20:07 +0000 (14:20 +0200)]
* image.c (Fimagemagick_types): Initialize ex with GetExceptionInfo
and free it with DestroyExceptionInfo.